//
//  RXFrameViewController.h
//  RXFrame
//
//  Created by srxboys on 2021/4/20.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN
/**
 * Base UIViewController
 *
 * @note 支持 \e 3D-Touch 操作
 * @note 判断 \e Gesture 操作
 * @note 判断 \e networking 变化
 */
@interface RXFrameViewController : UIViewController

/// 是否支持旋转屏幕
@property (nonatomic, assign) BOOL isRotate;
/// 3D touch 【peek pop】 要特殊处理
@property (nonatomic, assign) BOOL peekPop3DtouchNavPopGesEnable;
/// 右滑手势是否可以popNav
@property (nonatomic, assign) BOOL navPopGestureRecognizerEnable;

/// 网络状态 -- 子类，如果需要，就重写 setter方法
@property (nonatomic, assign, readonly) NSString * networkStatus;

/// 切换竖屏显示
- (void)closeDeviceCrossScreen;

/// 弹toash
- (void)showToash:(NSString *)message;

/// 网络变了
- (void)networkChange;

/// 显示没有网络状态  默认从顶部开始
- (void)showNullNetworkView;

/// 隐藏没有网络状态
- (void)hiddenNullNetworkView;


/// 刷新数据源---重新请求数据-注意清空分页数据源
- (void)networkReloadDataButtonClick;

/// 双击 TabBarItem 事件
- (void)tabBarItemDoubleClick;


- (void)pushController:(Class)controllerClass;
- (void)pop;
- (void)popToTop;
@end



@interface ViewKeyboardDeal : NSObject<UIGestureRecognizerDelegate>
@property (nonatomic, weak) UIView *associatedView;
@end


NS_ASSUME_NONNULL_END
